#import <Foundation/Foundation.h>

/**
 * FileUtilities is an object representing generic filesystem operations.
 *
 * @author      Justin Hollander
 * @version     0.3.3
 * @since       0.3.3
 */
@interface FileUtilities : NSObject

/**
 * Retrieve write-permissible absolute path for storing this collection.
 *
 * Asks the iOS for the application's unique Documents directory.
 *
 * @param fileName  the name of the file in which to store this collection
 * @param subdir    the unique subdirectory holding all data for this collection
 * @return          the absolute path at which this collection is stored on succesfully
 *					creating the subdirectory. Nil is returned on failure.
 */
+ (NSString*)getPathWithFileName:(NSString*)fileName 
			   usingSubdirectory:(NSString*)subdir;

/**
 * Asks the iOS for the application's unique Documents directory and then attempts to
 * create a subdirectory within it.
 *
 * @param subdirectory    the unique subdirectory holding all data for this collection
 * @return                YES on success;
 *                        NO otherwise.
 */
+ (BOOL)createSubDirectory:(NSString*)subdirectory;

/**
 * Get the path for a file from the resource bundle for the application.
 *
 * @param fileName  the file name of the resource
 * @return          the absolute path to the resource file
 */
+ (NSString*)getResource:(NSString*)fileName;

@end
